package com.yk.course.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.yk.common.annotation.Excel;
import com.yk.common.core.domain.BaseEntity;

/**
 * 课程设置对象 course_info
 * 
 * @author xufei
 * @date 2025-04-28
 */
@Data
public class CourseInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /**  */
    private Long id;

    /** 课程名称 */
    @Excel(name = "课程名称")
    private String name;

    /** 课程编号 */
    @Excel(name = "课程编号")
    private String code;

    /** 课程分类id */
    private Long typeId;
    @Excel(name = "课程分类")
    private String type;

    /** 教师id */
    @Excel(name = "教师")
    private String teacherName;
    private Long teacherId;


    /** 课程跨度 */
    @Excel(name = "课程跨度/天")
    private Integer time;

    /** 课程节数 */
    @Excel(name = "课程节数")
    private Integer num;

    /** 已完成节数 */
    @Excel(name = "已完成节数")
    private Integer finishNum;

    /** 课程状态 */
    @Excel(name = "课程状态")
    private String status;
    private String courseStatus;

    /** 价格 */
    @Excel(name = "价格")
    private Integer price;

    /** 计划开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
//    @Excel(name = "计划开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date planStartTime;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    /** 图片说明 */
    @Excel(name = "图片说明")
    private String pictures;



    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("name", getName())
            .append("code", getCode())
            .append("typeId", getTypeId())
            .append("teacherId", getTeacherId())
            .append("time", getTime())
            .append("num", getNum())
            .append("finishNum", getFinishNum())
            .append("courseStatus", getCourseStatus())
            .append("price", getPrice())
//            .append("planStartTime", getPlanStartTime())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .append("pictures", getPictures())
            .toString();
    }
}
